Verification can be a tedious task that may occupy a considerable amount of time of programmers. Specifically, a lot of time may be invested in locating faults (typically referred to as “bugs”) in the program. Automatic fault localization techniques were introduced that are aimed at addressing this problem. For example, automatic fault localization may involve the use of coverage information.
When testing a code, the extent to which that code was actually tested—typically referred to as “coverage”—may be measured.
Currently here can be various kinds of coverage metrics, like code coverage, functional coverage, etc. There can also be various verification engines with which coverage may be graded (e.g., simulation, emulation, formal).
It may be desired to consider a combined coverage grade, which is calculated by combining coverage grades obtained from several verification engines that apply different verification method (e.g., simulation, formal, etc.) into a single combined coverage grade for each coverage entity in a verification model.